// 字符串转元组
// 初始一个空数组，每次取出最左边的塞进数组末尾

type StringToTuple<T, K extends any[] =[]> = T extends `${infer L}${infer R}` ? StringToTuple<R,  [...K, L]> : K
 
type A = StringToTuple<'abc'>; // 'abc'
type B = StringToTuple<''>; // ''
type C = StringToTuple<'a'>; // 'a'
 